# From "Thinking in C++, 2nd Edition, Volume 2" 
# by Bruce Eckel & Chuck Allison
# Available at http://www.BruceEckel.com
# (c)2004 MindView Inc. Copyright notice in Copyright.txt
# Automatically-generated MAKEFILE 
# For examples in directory .\C10
# Invoke with: make compiler-name
# or: make clean

ifneq ($(MAKECMDGOALS),clean)
include ../$(MAKECMDGOALS).mac
endif

.SUFFIXES : .cpp .$(OBJEXT) .exe


Borland:  \
	MessengerDemo.exe \
	CollectingParameterDemo.exe \
	SingletonPattern.exe \
	LogFile.$(OBJEXT) \
	UseLog1.$(OBJEXT) \
	UseLog2.exe \
	SingletonPattern2.exe \
	FunctionStaticSingleton.exe \
	CuriousSingleton.exe \
	CommandPattern.exe \
	MulticastCommand.exe \
	ProxyDemo.exe \
	KissingPrincess.exe \
	KissingPrincess2.exe \
	FibonacciGeneratorTest.exe \
	FibonacciAdapter.exe \
	TemplateMethod.exe \
	Strategy.exe \
	ChainOfReponsibility.exe \
	ShapeFactory1.exe \
	ShapeFactory2.exe \
	AbstractFactory.exe \
	VirtualConstructor.exe \
	Bicycle.$(OBJEXT) \
	BuildBicycles.exe \
	InnerClassIdiom.exe \
	ObservedFlower.exe \
	PaperScissorsRock.exe \
	BeeAndFlowers.exe \
	TESTHEADER_LogFile.exe \
	TESTHEADER_UseLog1.exe \
	TESTHEADER_FibonacciGenerator.exe \
	TESTHEADER_Bicycle.exe \
	TESTHEADER_Observer.exe \
	TESTHEADER_Observable.exe

Microsoft:  \
	MessengerDemo.exe \
	CollectingParameterDemo.exe \
	SingletonPattern.exe \
	LogFile.$(OBJEXT) \
	UseLog1.$(OBJEXT) \
	UseLog2.exe \
	SingletonPattern2.exe \
	FunctionStaticSingleton.exe \
	CuriousSingleton.exe \
	CommandPattern.exe \
	MulticastCommand.exe \
	ProxyDemo.exe \
	KissingPrincess.exe \
	KissingPrincess2.exe \
	FibonacciGeneratorTest.exe \
	FibonacciAdapter.exe \
	TemplateMethod.exe \
	Strategy.exe \
	ChainOfReponsibility.exe \
	ShapeFactory1.exe \
	ShapeFactory2.exe \
	AbstractFactory.exe \
	VirtualConstructor.exe \
	Bicycle.$(OBJEXT) \
	BuildBicycles.exe \
	InnerClassIdiom.exe \
	ObservedFlower.exe \
	PaperScissorsRock.exe \
	BeeAndFlowers.exe \
	TESTHEADER_LogFile.exe \
	TESTHEADER_UseLog1.exe \
	TESTHEADER_FibonacciGenerator.exe \
	TESTHEADER_Bicycle.exe \
	TESTHEADER_Observer.exe \
	TESTHEADER_Observable.exe

g++:  \
	MessengerDemo.exe \
	CollectingParameterDemo.exe \
	SingletonPattern.exe \
	LogFile.$(OBJEXT) \
	UseLog1.$(OBJEXT) \
	UseLog2.exe \
	SingletonPattern2.exe \
	FunctionStaticSingleton.exe \
	CuriousSingleton.exe \
	CommandPattern.exe \
	MulticastCommand.exe \
	ProxyDemo.exe \
	KissingPrincess.exe \
	KissingPrincess2.exe \
	FibonacciGeneratorTest.exe \
	FibonacciAdapter.exe \
	TemplateMethod.exe \
	Strategy.exe \
	ChainOfReponsibility.exe \
	ShapeFactory1.exe \
	ShapeFactory2.exe \
	AbstractFactory.exe \
	VirtualConstructor.exe \
	Bicycle.$(OBJEXT) \
	BuildBicycles.exe \
	InnerClassIdiom.exe \
	ObservedFlower.exe \
	PaperScissorsRock.exe \
	BeeAndFlowers.exe \
	TESTHEADER_LogFile.exe \
	TESTHEADER_UseLog1.exe \
	TESTHEADER_FibonacciGenerator.exe \
	TESTHEADER_Bicycle.exe \
	TESTHEADER_Observer.exe \
	TESTHEADER_Observable.exe

edg:  \
	MessengerDemo.exe \
	CollectingParameterDemo.exe \
	SingletonPattern.exe \
	LogFile.$(OBJEXT) \
	UseLog1.$(OBJEXT) \
	UseLog2.exe \
	SingletonPattern2.exe \
	FunctionStaticSingleton.exe \
	CuriousSingleton.exe \
	CommandPattern.exe \
	MulticastCommand.exe \
	ProxyDemo.exe \
	KissingPrincess.exe \
	KissingPrincess2.exe \
	FibonacciGeneratorTest.exe \
	FibonacciAdapter.exe \
	TemplateMethod.exe \
	Strategy.exe \
	ChainOfReponsibility.exe \
	ShapeFactory1.exe \
	ShapeFactory2.exe \
	AbstractFactory.exe \
	VirtualConstructor.exe \
	Bicycle.$(OBJEXT) \
	BuildBicycles.exe \
	InnerClassIdiom.exe \
	ObservedFlower.exe \
	PaperScissorsRock.exe \
	BeeAndFlowers.exe \
	TESTHEADER_LogFile.exe \
	TESTHEADER_UseLog1.exe \
	TESTHEADER_FibonacciGenerator.exe \
	TESTHEADER_Bicycle.exe \
	TESTHEADER_Observer.exe \
	TESTHEADER_Observable.exe

Metrowerks:  \
	MessengerDemo.exe \
	CollectingParameterDemo.exe \
	SingletonPattern.exe \
	LogFile.$(OBJEXT) \
	UseLog1.$(OBJEXT) \
	UseLog2.exe \
	SingletonPattern2.exe \
	FunctionStaticSingleton.exe \
	CuriousSingleton.exe \
	CommandPattern.exe \
	MulticastCommand.exe \
	ProxyDemo.exe \
	KissingPrincess.exe \
	KissingPrincess2.exe \
	FibonacciGeneratorTest.exe \
	FibonacciAdapter.exe \
	TemplateMethod.exe \
	Strategy.exe \
	ChainOfReponsibility.exe \
	ShapeFactory1.exe \
	ShapeFactory2.exe \
	AbstractFactory.exe \
	VirtualConstructor.exe \
	BuildBicycles.exe \
	InnerClassIdiom.exe \
	ObservedFlower.exe \
	PaperScissorsRock.exe \
	BeeAndFlowers.exe \
	TESTHEADER_LogFile.exe \
	TESTHEADER_UseLog1.exe \
	TESTHEADER_FibonacciGenerator.exe \
	TESTHEADER_Bicycle.exe \
	TESTHEADER_Observer.exe \
	TESTHEADER_Observable.exe

DigitalMars:  \
	MessengerDemo.exe \
	CollectingParameterDemo.exe \
	SingletonPattern.exe \
	LogFile.$(OBJEXT) \
	UseLog1.$(OBJEXT) \
	UseLog2.exe \
	SingletonPattern2.exe \
	FunctionStaticSingleton.exe \
	CuriousSingleton.exe \
	CommandPattern.exe \
	MulticastCommand.exe \
	ProxyDemo.exe \
	KissingPrincess.exe \
	KissingPrincess2.exe \
	FibonacciGeneratorTest.exe \
	FibonacciAdapter.exe \
	TemplateMethod.exe \
	Strategy.exe \
	ChainOfReponsibility.exe \
	ShapeFactory1.exe \
	ShapeFactory2.exe \
	AbstractFactory.exe \
	VirtualConstructor.exe \
	Bicycle.$(OBJEXT) \
	BuildBicycles.exe \
	InnerClassIdiom.exe \
	ObservedFlower.exe \
	PaperScissorsRock.exe \
	BeeAndFlowers.exe \
	TESTHEADER_LogFile.exe \
	TESTHEADER_UseLog1.exe \
	TESTHEADER_FibonacciGenerator.exe \
	TESTHEADER_Bicycle.exe \
	TESTHEADER_Observer.exe \
	TESTHEADER_Observable.exe

CodeWizard:
	CodeWizard *.cpp

clean:
ifeq ($(notdir $(SHELL)),COMMAND.COM)
	del *.o
	del *.obj
	del *.exe
	del *.tds
	del *.map
else
	rm -f *.o *.obj *.exe *.tds *.map
endif


MessengerDemo.exe: MessengerDemo.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

CollectingParameterDemo.exe: CollectingParameterDemo.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

SingletonPattern.exe: SingletonPattern.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

LogFile.$(OBJEXT): LogFile.cpp


UseLog1.$(OBJEXT): UseLog1.cpp


UseLog2.exe: LogFile.$(OBJEXT) UseLog1.$(OBJEXT) UseLog2.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

UseLog2.$(OBJEXT): UseLog2.cpp

SingletonPattern2.exe: SingletonPattern2.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

FunctionStaticSingleton.exe: FunctionStaticSingleton.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

CuriousSingleton.exe: CuriousSingleton.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

CommandPattern.exe: CommandPattern.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

MulticastCommand.exe: MulticastCommand.cpp


ProxyDemo.exe: ProxyDemo.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

KissingPrincess.exe: KissingPrincess.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

KissingPrincess2.exe: KissingPrincess2.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

FibonacciGeneratorTest.exe: FibonacciGeneratorTest.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

FibonacciAdapter.exe: FibonacciAdapter.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

TemplateMethod.exe: TemplateMethod.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

Strategy.exe: Strategy.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

ChainOfReponsibility.exe: ChainOfReponsibility.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

ShapeFactory1.exe: ShapeFactory1.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

ShapeFactory2.exe: ShapeFactory2.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

AbstractFactory.exe: AbstractFactory.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

VirtualConstructor.exe: VirtualConstructor.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

Bicycle.$(OBJEXT): Bicycle.cpp


BuildBicycles.exe: Bicycle.$(OBJEXT) BuildBicycles.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

BuildBicycles.$(OBJEXT): BuildBicycles.cpp

InnerClassIdiom.exe: InnerClassIdiom.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

ObservedFlower.exe: ObservedFlower.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

PaperScissorsRock.exe: PaperScissorsRock.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

BeeAndFlowers.exe: BeeAndFlowers.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

TESTHEADER_LogFile.exe: TESTHEADER_LogFile.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

TESTHEADER_UseLog1.exe: TESTHEADER_UseLog1.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

TESTHEADER_FibonacciGenerator.exe: TESTHEADER_FibonacciGenerator.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

TESTHEADER_Bicycle.exe: TESTHEADER_Bicycle.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

TESTHEADER_Observer.exe: TESTHEADER_Observer.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

TESTHEADER_Observable.exe: TESTHEADER_Observable.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^
	$@

